分享好友 技术首页 技术分类 切换频道

基于PXA270的多数据监测系统设计

2020-07-20 01:505840

摘 要:设汁了基于ARM的智能电表和空调系统参数的多数据监测系统。系统由硬件和软件两部分组成,硬件采用博创公司的嵌入式微控制器PXA270平台,软件使用了Modbus协议读取智能电表和空调端监测数据,上位机利用Linux Socket『舣]络编程和c#编程实现监测。该系统比传统的数据{ 测系统具有更好的安全性和实时性,同时硬件的体积更小,功耗更低,扩展性更慢。

0 引 言

    在实际工业控制应用中,经常需要对现场的智能电表、空调等多种设备进行监测,通过采集相应设备的运行参数随时了解、跟踪设备运行状态 ,进而进行分析和诊断。结合具体项目,本文设计了一种基于嵌入式系统ARM 的多数据监测系统,系统以嵌入式Linux和博创公司的嵌入式微控制器PXA270为核心平台,通过将RS一485采集的数据转换成符合RS一232标准的数据,保存在嵌入式微处理器的Flash中,经过网络传输将数据传给E位机,完成对电表、空调的监测任务。整个系统建立在嵌入式结构上,具有更好的实时性和稳定性,同时硬件的体积更小,功耗更低,扩展性更强。

1 系统硬件设计

1.1 系统总体设计方案
    系统的总体设计思想是通过RS一232/485转换器将RS一485采集的电表参数、空调参数转换成符合RS一232标准的数据,保存在嵌入式微处理器Flash中,经Linux Socket网络编程,采用TCP协议和上位机建立网络连接,将数据文件发送给上位机,上位机运用C#语言编程实现监测数据的实时显示,同时建立数据库保存监测数据,从而完成对电表、空调数据的监测任务。其中Rs一485对电表、空调参数的读取是通过Modbus协议发送相关的指令实现的。
1.2 系统硬件电路
    该设计主要硬件电路包括数据采集模块、PXA270处理器、外围接口电路、电源及复位电路等几个部分。系统总体结构如图1所示。

     ARM 处理系统采用博创公司的Xscale PXA270处理器,其主频为520 MHz,加入了In SpeedStep动态电源管理技术,在保证CPU性能的情况下可zui大限度地降低设备功耗,采用网络接口实现了数据信息的网络化管理。操作系统采用Linux,使用的是Linux 2.6.9内核。系统的根文件采用针对Flash无缓冲机制的JFFS2文件系统。

    为了利用PC上现有的RS一232接口,通常使用RS一232/485转换器。该转换器一般通过逻辑门电路控制RxD、TxD和GND信号,自动对半双工的RS一485串口进行控制。通过该转换器,就可以像开发通用的RS一232串口一样来快速开发基于RS一485串口的通信软件。

2 系统软件设计

    软件部分包括系统引导驱动程序otLoad—er、嵌入式操作系统ARM—Linux的移植、文件系统、用户应用程序4个部分,其中核心部分是用户应用程序的编写和调试。用户应用程序包括通过Modbus协议对采集得到的电表参数、空调参数的读取和保存,Linux Socket编程实现文件的发送,以及上位机监测端图形化界面的C}≠语言编程实现。

2.1 采集数据的读取和保存
    该部分实现电表和空调数据的读取,并保存在嵌入式微处理器Flash中。数据的读取通过Modbus协议向电表和空调发送相关指令获得,得到的数据通过调用fwrite()函数写入定义在嵌入式微处理器Flash的文件中。主要包括串口属性设置,CRC(Cyclic Redundancy Check)校验码实现方法,采用Modbus协议获得需要的数据,并写入嵌入式微处理器Flash的文件中。

2.1.1 设置串口属性
    串口设置主要是设置struct termios结构体成员值。通过对Cwcflag的赋值,可以设置波特率、字符大小、数据位、停止位、奇偶校验位和硬件流控等。
系统对于串口属性的设置如下:
(1)打开串El fd= open(“/dev/ttySO”,0一RDWR I O~ NOCTFY I O— NDELAY)。
(2)为安全起见和以后调试程序方便,先保存原先串口的配置:tcgetattr(fd,&newtio)。
(3)设置波特率为9 600 baud/s。一般情况下,用户需要将输入输出函数的波特率设置成相同。函数在成功时返回“0”,失败时返回“一1”。
(4)设置字符大小。没有现成可用函数,需要位掩码。一般先去除数据位中的位掩码,再重新按要求设置。
(5)设置奇偶校验位。先激活c—cflag中的校验位使能标志PARENB和判断是否要进行偶校验,同时还要激活c_iflag中的奇偶校验使能。
(6)设置停止位。通过激活c_cflag中的cS.TOPB实现。
(7)设置zui少字符和等待时间。在对接收字符和等待时间没有特殊要求的情况下,可以将其设置为“0”。
(8) 激活配置。利用tcsetattr(fd,TC—SANOW,&newtio)函数。这里newtio是termios类型的变量,SANOW 表示改变的配置立即生效。

2.1.2 CRC校验码的实现方法
    CRC利用生成多项式产生校验位进行编码。CRC运算时,首先将一个16 bit的寄存器预置为全1,然后连续把数据帧中的每个字节中的8 bit与寄存器的当前值进行运算,仅每个字节的8个数据位参与生成CRC,起始位和终止位以及可能使用的奇偶位都不影响CRC。在生成CRC时,每个字节的8 bit与寄存器中的内容进行“异或”运算,然后将结果向低位移位,高位则用“0”补充,zui低位(LSB)移出并检测。如果是1,该寄存器就与一个预设固定值(0A001H)进行一次“异或”运算;如果zui低位为0,不作任何处理。上述处理重复进行,直到执行完8次移位操作。当zui后一位(第8位)移完后,下一个8 bit与寄存器的当前值进行异或运算,同样进行上述的另一个8次移位异或操作。当数据帧中的所有字节都作了处理,生成的zui终值为CRC值。

 2.1.3 通过RS一485通信采集数据

    系统采用Modbus.RTU ,通信应用格式如表1所示。Modbus协议详细定义了数据序列和校验码,这些都是特定数据交换的必要内容。

 

 

更多内容请查询:

 

    以电表数据的监测进行说明。该系统需要获得与仪表工作相关的系统参数 ,包括PT 低字(0104H)、FF 高字(0105H)、PT2(0106H)、CT(0107H)、CT (0108H)等;监测参数,包括值和有功电能E。 (010CH与OIDH)、值和无功电能E l(010EH与010FH)、A相电压U。(0110H)、B相电压u2(0111H)、C相电压u3(0112H)、线电压U 2(0113H)、线电压U2(O114H)、线电压u (0115H)、相(线)电流I(0116H)、相(线)电流I (0117H)、相(线)电流I(0118H)、相电压均值U (0119H)、线电压均值U (011AH)、电流均值I (011BH)、系统有功功率P(011CH)、系统无功功率Q(011DH)、系统视在功率S(011EH)。按照Modbus.RTU协议通信应用格式,采用03号功能码(获得一个或多个寄存器的当前二进制值),可定义如下数组分别读取上面两组对应数据:
unsigned char txBufl[]={0xl1,0x03,OxO1,0x04,0x00,0x05,0x16,0xa0};
unsigned char txBuf2[]={0xl1,0x03,0x01,0x0c,0x00,0x19,0xf,0xff};


 

涉及的主要过程描述如下:
(1)首先调用系统函数socket(int family,int type,int protoco1)创建TCP套接字。系统选用流式套接字SOCK—STREAM,它提供了一种面向连接的服务。
(2)bind将socket与本机上的一个端口相关联,可以在该端口监听服务请求,listen()函数使socket处于被动的监听模式,并为该socket建立一个输入数据队列,将到达的服务请求保存在此队列中,直到程序处理它们。
(3)accept()函数让服务器接收客户的连接请求。在建立好输入队列后,服务器就调用ac—cept()函数,然后睡眠并等待客户的连接请求。
(4)初次建立连接,需要完成电表记录时间与上位机时间的同步。具体实现方法是:以PXA270微处理器为核心的终端,通过sendto()给上位机发送事先约定好的保存在S指向的数组中的字符串,上位机在收到字符串后给终端发送时间,终端接收时间,调用函数mktime()和set—timeo~ay()完成时间同步。
(5)调用open()函数打开保存在终端Flash的电表数据记录文件,并利用sendto()函数进行发送,每次发送完成都调用remove()函数将已经发送的记录数据清空。
(6)关闭socket套接字close(sock~)。

2.3 上位机监测端
    利用C精言通过Socket建立TCP连接,上位机在收到监测终端初次连接时事先约定好的保存在S指向的数组中的字符串后,发送系统时问给终端,进行时间同步,应用SQL Se~er 2000建立数据库,之后不断间隔性接收终端发送来的监测数据并存人数据库,供分析使用。编写图形化界面,显示的监测数据。上位机编程流程图如图3所示。实时监测图形化界面如图4所示。

 

 

3 结 语
     该系统实现了智能电表、空调参数多数据量的监测,主要完成了嵌入式操作系统ARM·Linu的移植,通过Modbus协议获得终端监测数据,并保存在嵌入式微处理器Flash中,实现数据文件的发送以及上位机对数据的处理显示。经试验,系统zui终正常运行。

    与传统的数据监i贝0系统相比,该系统具有更好的安全性和实时性,同时硬件的体积更小,功耗更低,扩展性更强。对系统稍加修改,可以同时实现I//O设备、UPS等更多数据量的实时监测,因此具有很强的实用意义。

2.1.4 采集数据的存储
    该系统对监测数据进行循环采集,并将数据实时保存。通过调用定义的子函数void sent—re.ceive(char txBuf[],char Bum)读取数据,打开建立在Flash中的record文件,通过fwrite函数将读取的数据写入文件中。在保存数据的同时需要将读取数据的时间localtime(&timep)一起记录。

2.2 数据文件的发送
    将保存在微处理器Flash中的数据文件通过socket编程建立TCP连接 I,发送给上位机。数据文件发送流程图如图2所示。

 

 

 

 

免责声明:矿库网文章内容来源于网络,为了传递信息,我们转载部分内容,尊重原作者的版权。所有转载文章仅用于学习和交流之目的,并非商业用途。如有侵权,请及时联系我们删除。感谢您的理解与支持。

举报
收藏 0
评论 0
覆盖2700家,中国环保公益组织数据库上线
由北京市企业家环保基金会(SEE 基金会)、万科公益基金会、明善道(北京)管理顾问有限公司三方发起共建的中国环保公益组织数据库正式上线。数据库收录了2022年“中国环保公益组织现状调研”覆盖的约2700家环保公益组织的相关信息,如组织信息(包括组织名称、组织类型、成立日期、工作领域首选项、工作领域次选议题、工作手法、联系方式等)、数据信息等。参与首年调研执行的34家枢纽组织将成为数据维护员,共同建设、管理、维护这一环保公益行业基础设施。

0评论2023-07-04512

5月5日LME市场:期铜上涨,美国强劲就业数据擦亮短期经济前景
外电5月5日消息,伦敦金属交易所(LME)期铜价格周五上涨,此前强劲的美国就业数据照亮近期经济前景,但涨幅仅抵消部分本周早些时候因中国需求不振和库存增加而遭受的损失。  伦敦时间5月5日17:00(京时间5月6日00:00),LME三个月期铜上涨88美元,或1.04%,收报每吨8,581.5美元,但本周仍下跌约0.2%。  就业数据帮助刺激了

0评论2023-05-06295

自然资源部地质矿产科学数据中心成立
自然资源部地质矿产科学数据中心近日在中国地质调查局发展研究中心(全国地质资料馆、自然资源部矿产勘查技术指导中心)正式成立。为进一步加强和规范自然资源科学数据管理,促进开放共享,自然资源部在自然资源领域推动建设一批科学数据中心,建立自然资源部科学数据管理运行机制。建设自然资源部地质矿产科学数据中心,对

0评论2023-04-283213

COMEX期铜下跌,因通胀担忧,中国制造业数据低于预期
纽约4月3日消息,周一芝加哥商品交易所(COMEX)的铜期货下跌。截至收盘,期铜下跌4.45美分到4.9美分不等,其中成交最活跃的2023年5月期铜报收4.0455美元/磅,比上一交易日下跌4.90美分或1.20%。5月期铜的交易区间为4.0345美元到4.0975美元。周一中国公布的3月份的财新标普制造业采购经理人指数(PMI)跌至50.0,低于2月份

0评论2023-04-04992

2023年1-2月中国不锈钢进出口数据简析
2023年1月,国内不锈钢进口量约15.04万吨,环比减少36.5%;同比减少60.8%。2月进口量约18.73万吨,环比增加24.51%;同比减少41.72%。

0评论2023-03-211563

矿山大数据标准化白皮书发布
3月9日,在2023全国大数据标准化工作会议暨全国信标委大数据标准工作组第九次全会上,全国信息技术标准化技术委员会大数据标准工作组发布了《矿山大数据标准化白皮书(2023年版)》。

0评论2023-03-141494

伦铜和其他基本金属下跌 因进口数据疲弱
SHMET 网讯:  外电3月7日消息,伦铜周二进一步下跌,因主要金属消费国中国进口数据疲软以及秘鲁主要矿山可能恢复供应。  伦敦金属交易所(LME)三个月期铜下跌0.76%,至每吨8,851.0美元。  盛宝银行大宗商品策略主管Ole Hansen表示:“铜价走低,因中国进口疲软,秘鲁紧张局势缓解,表明出口复苏。”  用于电力、建

0评论2023-03-08120

用电数据显示,秘鲁铜矿正全面恢复生产
外电3月3日消息,根据用电数据进行分析,秘鲁关键铜矿恢复生产,此前抗议和封锁打击产量,可能会提振这一全球第二大铜生产国的供应。

0评论2023-03-06239